<!doctype html>
<html lang="en">
 <head> 
  <meta charset="UTF-8"> 
  <meta name="description" content="燎火的个人博客"> 
  <meta name="keyword" content="燎火,qq799378666,软件开发,java,c#,js,html,html5,css"> 
  <title>tomcat绑定域名</title> 
  <script src="/js/jquery-1.11.1.min.js"></script> 
  <script src="/js/bootstrap-3.3.5/js/bootstrap.js"></script> 
  <link href="/js/bootstrap-3.3.5/css/bootstrap.css" rel="stylesheet"> 
  <script src="/js/base.js"></script> 
  <script src="/js/nav.js"></script> 
  <script src="/js/jquery.toTop.min.js"></script> 
  <link href="/style/article.css" rel="stylesheet"> 
 </head> 
 <body> 
  <div id="main"> 
   <h3 id="title">tomcat绑定域名</h3> 
   <div id="content">
    <p style="margin: 10px auto; padding: 0px; line-height: 2em; font-family: arial, helvetica, clean, sans-serif; font-size: 14px; white-space: normal; background-color: rgb(255, 255, 255);"><span style="margin: 0px; padding: 0px;">现在很多的公司的网站都是用tomcat作为应用服务区的，可是对于初学者，8080端口号是如何去掉的，这些网站是如何和域名绑定到一起的呢？一个tomcat是如何绑定多域名？并且这些域名是如何对应不同的项目呢？而且我的服务器没放在机房，放在我的本地，我应该如何把我的服务器给映射到外网？这一系列的问题，今天就这个问题，我来说一下。</span></p>
    <p style="margin: 10px auto; padding: 0px; line-height: 2em; font-family: arial, helvetica, clean, sans-serif; font-size: 14px; white-space: normal; background-color: rgb(255, 255, 255);"><br><span style="margin: 0px; padding: 0px;"><strong style="margin: 0px; padding: 0px;">1. 域名。</strong></span></p>
    <p style="margin: 10px auto; padding: 0px; line-height: 2em; font-family: arial, helvetica, clean, sans-serif; font-size: 14px; white-space: normal; background-color: rgb(255, 255, 255);"><span style="margin: 0px; padding: 0px;">现在的域名不是很贵，有很多人都有，而我们注册域名的网站也会有一个DNS助解析，就是把服务器的IP绑定到这些域名上。</span></p>
    <p style="margin: 10px auto; padding: 0px; line-height: 2em; font-family: arial, helvetica, clean, sans-serif; font-size: 14px; white-space: normal; background-color: rgb(255, 255, 255);"><br><span style="margin: 0px; padding: 0px;"><strong style="margin: 0px; padding: 0px;">2. 我们域名有了，现在就来说说我们的项目；</strong></span></p>
    <p style="margin: 10px auto; padding: 0px; line-height: 2em; font-family: arial, helvetica, clean, sans-serif; font-size: 14px; white-space: normal; background-color: rgb(255, 255, 255);"><span style="margin: 0px; padding: 0px;">比如说我现在有两个项目都在我的这个tomcat下面。那我们输入http://localhost:8080/abc就可以访问到我们abc这个项目了，但是端口号8080如何去掉呢？在tomcat的conf文件夹下有一个server.xml。我们打开这个文件，找到8080，只需要把8080改成80即可。当我们再次输入http://localhost/abc即可。</span></p>
    <p style="margin: 10px auto; padding: 0px; line-height: 2em; font-family: arial, helvetica, clean, sans-serif; font-size: 14px; white-space: normal; background-color: rgb(255, 255, 255);"><br><span style="margin: 0px; padding: 0px;"><strong style="margin: 0px; padding: 0px;">3. 可是我们的域名如何跟项目绑定到一起呢？</strong></span></p>
    <p style="margin: 10px auto; padding: 0px; line-height: 2em; font-family: arial, helvetica, clean, sans-serif; font-size: 14px; white-space: normal; background-color: rgb(255, 255, 255);"><span style="margin: 0px; padding: 0px;">我们再次找到tomcat下面的conf文件夹里面的server.xml。修改&lt;Host name="我们所要绑定的域名" debug="0" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"&gt;&lt;/Host&gt;</span></p>
    <p style="margin: 10px auto; padding: 0px; line-height: 2em; font-family: arial, helvetica, clean, sans-serif; font-size: 14px; white-space: normal; background-color: rgb(255, 255, 255);"><br><span style="margin: 0px; padding: 0px;"><strong style="margin: 0px; padding: 0px;">4. 当启动tomcat的时候，输入我们绑定的域名，是不是看到了我们的tomcat。</strong></span></p>
    <p style="margin: 10px auto; padding: 0px; line-height: 2em; font-family: arial, helvetica, clean, sans-serif; font-size: 14px; white-space: normal; background-color: rgb(255, 255, 255);"><span style="margin: 0px; padding: 0px;">可是我们想访问我们的项目还得再域名后面加上项目名称才能访问到，也就是说到现在我们的域名还没跟项目绑定到一起。我们在看一下第三部，想让我们的项目和域名绑定到一起，我们只需要在&lt;/Host&gt;前面加上&lt;Context docBase="项目名" path=""&nbsp; reloadable="true" &gt;即可。&nbsp;</span><br><span style="margin: 0px; padding: 0px;">例如：</span></p>
    <p style="margin: 10px auto; padding: 0px; line-height: 2em; font-family: arial, helvetica, clean, sans-serif; font-size: 14px; white-space: normal; background-color: rgb(255, 255, 255);"><span style="margin: 0px; padding: 0px;">&lt;Host name="www.abc.com" debug="0" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"&gt;</span></p>
    <p style="margin: 10px auto; padding: 0px; line-height: 2em; font-family: arial, helvetica, clean, sans-serif; font-size: 14px; white-space: normal; background-color: rgb(255, 255, 255);"><span style="margin: 0px; padding: 0px;">&lt;Context docBase="baidu" path=""&nbsp; reloadable="true" &gt;</span></p>
    <p style="margin: 10px auto; padding: 0px; line-height: 2em; font-family: arial, helvetica, clean, sans-serif; font-size: 14px; white-space: normal; background-color: rgb(255, 255, 255);"><span style="margin: 0px; padding: 0px;">&lt;/Host&gt;&nbsp;</span><br><span style="margin: 0px; padding: 0px;"><strong style="margin: 0px; padding: 0px;">5</strong>. 当我们的有两个项目都放在同一个tomcat下的时候，我们只需要把&lt;Host&gt;&lt;/ Host&gt;加上两个既可以完成我们的2个项目的绑定，但是项目名称别忘了改哦。</span></p>
    <p style="margin: 10px auto; padding: 0px; line-height: 2em; font-family: arial, helvetica, clean, sans-serif; font-size: 14px; white-space: normal; background-color: rgb(255, 255, 255);"><br><span style="margin: 0px; padding: 0px;"><strong style="margin: 0px; padding: 0px;">6</strong>. 当我们的服务器自己维护（没有放在机房），我们需要对我们的路由做一下映射。就拿我的路由来举例。我的路由是TP-LINK WR340G型号，进入路由后，我们能找到一个转发规则，那里面有一个虚拟服务器的这项，点击新增条目以后会有：服务端口号、IP地址、协议、状态、常用服务端口号。我们只需在这里IP地址（服务器的局域网IP），协议选择ALL（有的路由好像没有这项，那就不需要填写了），状态选择生效，常用服务端口号选择HTTP或者WEB即可。这时默认的端口号为80。当常用服务端口号没有HTTP或者WEB这项时，可以选择DNS,然后手动把端口号改成80。点击生效。保存即可。如果说本人说的路由映射对您不适用或者没有看明白，可以上网找各种路由的映射方法。</span></p>
    <p style="margin: 10px auto; padding: 0px; line-height: 2em; font-family: arial, helvetica, clean, sans-serif; font-size: 14px; white-space: normal; background-color: rgb(255, 255, 255);"><br><span style="margin: 0px; padding: 0px;"><strong style="margin: 0px; padding: 0px;">7</strong>. 这个时候我们在输入我们的域名，是不是就直接访问到我们的项目了。如果还有疑问，请留言，我会及时回复的。</span></p>
    <p style="margin: 10px auto; padding: 0px; line-height: 2em; font-family: arial, helvetica, clean, sans-serif; font-size: 14px; white-space: normal; background-color: rgb(255, 255, 255);"><strong style="margin: 0px; padding: 0px;">8.二级域名：</strong></p>
    <p style="margin: 10px auto; padding: 0px; line-height: 2em; font-family: arial, helvetica, clean, sans-serif; font-size: 14px; white-space: normal; background-color: rgb(255, 255, 255);"><span style="margin: 0px; padding: 0px;">像上面说的那样多添加一个&lt;Host /&gt;，前提是你要在域名服务商那先解析好二级域名，我用的是万网，怎么解析？<a href="http://jingyan.baidu.com/album/03b2f78c4cc0ad5ea337ae7d.html" target="_blank" style="margin: 0px; padding: 0px 0px 0px 5px; color: rgb(65, 131, 196);">看这里</a></span></p>
    <p style="margin: 10px auto; padding: 0px; line-height: 2em; font-family: arial, helvetica, clean, sans-serif; font-size: 14px; white-space: normal; background-color: rgb(255, 255, 255);">&lt;Host name="blog.abc.com" debug="0" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"&gt;</p>
    <p style="margin: 10px auto; padding: 0px; line-height: 2em; font-family: arial, helvetica, clean, sans-serif; font-size: 14px; white-space: normal; background-color: rgb(255, 255, 255);">&lt;Context docBase="blog" path=""&nbsp; reloadable="true" &gt;</p>
    <p style="margin: 10px auto; padding: 0px; line-height: 2em; font-family: arial, helvetica, clean, sans-serif; font-size: 14px; white-space: normal; background-color: rgb(255, 255, 255);">&lt;/Host&gt;&nbsp;</p>
    <p><br></p>
   </div> 
  </div>  
 </body>
</html>